// vim: set syntax=asm :

{{L}}{{label}}:
    {% if type == "f16" %}
        pinsrw          xmm12, word ptr [rdi + 8], 0
        vcvtph2ps       ymm12, xmm12
        vbroadcastss    ymm12, xmm12
    {% else %}
        vbroadcastss    ymm12, dword ptr [rdi + 8]
    {% endif %}
    
    {% if flipped %}
        {% for reg in (from..to) %}
            {{op}}          ymm{{reg}}, ymm{{reg}}, ymm12
        {% endfor %}
    {% else %}
        {% for reg in (from..to) %}
            {{op}}          ymm{{reg}}, ymm12, ymm{{reg}}
        {% endfor %}
    {% endif %}

    jmp    {{L}}non_linear_loop
